/**能力检测 */
/* 
能力检测是指在编程中检测浏览器或设备是否支持某种特定功能或属性的技术。
这种技术通常用于确保代码在不同环境下的兼容性，
以及根据不同的支持情况来选择合适的代码路径。
 */

if (typeof document.createElement('canvas').getContext === 'function') {
    // 浏览器支持canvas
    // 在这里编写针对支持canvas的代码
} else {
    // 浏览器不支持canvas
    // 在这里编写针对不支持canvas的替代方案
}

/**用户代理检测 */
/* 用户代理检测是指在Web开发中，通过检测用户代理字符串（User-Agent String）
来确定用户正在使用的浏览器和操作系统类型。
这种技术通常用于根据用户的浏览器和操作系统类型来提供定制化的网页内容或样式，
以确保网页在不同的浏览器和操作系统下都能够正确显示和运行。

可以通过navigator.userAgent来获取用户代理字符串，
然后根据其中包含的信息来判断用户的浏览器和操作系统类型，
从而进行相应的处理。然而，需要注意的是，用户代理字符串并不总是可靠的，
因为用户代理字符串可以被修改或伪装，
因此在实际应用中需要谨慎使用用户代理检测来进行逻辑判断。
*/
/* 伪造用户代理(某些浏览器可以这样使用) */
// 保存原始的用户代理字符串
var originalUserAgent = navigator.userAgent;
// 修改用户代理字符串为自定义值
navigator.__defineGetter__('userAgent', function(){
    return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36';
});
// 恢复原始的用户代理字符串
navigator.__defineGetter__('userAgent', function(){
    return originalUserAgent;
});
